|
|
>Seems like you use one transformation for points, vectors and normals,
Thanks, point taken. Makes sense :)
>Other problem, which I found, is in transformation code: e.g. in method
>CVector::VInverseTransform you modify first x value of vector, then use
>this modified value to calculate y and then use modified x and y to
>calculate z. This leads to wrong result, of course. Instead you should
>cache current values for x, y and z and then calculate new values by
>using these cached values.
*slaps head*
Of course! OMG this is such a blatantly stupid mistake! Thanks for
pointing it out.
>Correct these errors and I guess that most transformation problems will
>disappear.
Unfortunately, no. Even if I remove any and all transformation code
from CBox::Intersect (or CSphere::Intersect) and only use
untransformed primitives, they render incorrectly.
Peter Popov ICQ : 15002700
Personal e-mail : pet### [at] vipbg
TAG e-mail : pet### [at] tagpovrayorg
Post a reply to this message
|
|